package cn.edu.sdjzu.xg21.util;

import cn.edu.sdjzu.xg21.domain.Teacher;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

public class ControllerHelper {
    /**
     * 获取代表查询条件的List对象
     * @param req_jsonObj 请求body对应的JSONObject对象
     * @return 代表查询条件的List对象
     */
    public static List<Condition> getConditions(JSONObject req_jsonObj){
        // 根据键获得子对象
        JSONArray conditionList_jsonArray = req_jsonObj.getJSONArray("conditionList");
        // 条件对象
        List<Condition> conditionList = null;
        // 如果有“conditionList键”
        if (conditionList_jsonArray != null){
            // 将描述条件的JSONArray对象转换为Java的List对象
            conditionList = conditionList_jsonArray.toJavaList(Condition.class);
        }
        return conditionList;
    }

    /**
     * 获得代表查询条件的Pagination对象
     * @param req_jsonObj 请求body对应的JSONObject对象
     * @return 代表查询条件的Pagination对象
     */
    public static Pagination getPagination(JSONObject req_jsonObj){
        JSONObject pagination_jsonObj = req_jsonObj.getJSONObject("pagination");
        // 分页对象
        Pagination pagination = null;
        // 如果有“pagination”键
        if (pagination_jsonObj != null){
            // 将描述分页的JSONObject对象转换为Java对象
            pagination = pagination_jsonObj.toJavaObject(Pagination.class);
        }
        return pagination;
    }

    public static Teacher getTeacher(JSONObject req_jsonObj){
        // 分页对象
        Teacher teacher = null;
        // 如果有“pagination”键
        if (req_jsonObj != null){
            // 将描述分页的JSONObject对象转换为Java对象
            teacher = req_jsonObj.toJavaObject(Teacher.class);
        }
        return teacher;
    }
}
